<!DOCTYPE html>
<html lang="zh-cn">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>javascript 阶段</title>
    <style>
        body {
            margin: 0;
        }
        h1 {
            padding: 0 50px;
            height: 150px;
            line-height: 150px;
            width: 1200px;
            margin: 100px auto;
            font-size: 30px;
            text-align: left;
            color: red;
        }
    </style>
</head>
<body>
    <!-- <h1>距离国庆还有dd天hh小时mm分钟ss秒！</h1> -->

    <script>
        // 时间概念
        // 1天   = 24小时
        // 1小时 =  60分钟
        // 1分钟 =  60秒
        // 1秒   =   1000 毫秒

        // 倒数时间
            // 向下取整Math.floor(xx)
    </script>

    <script>
        // 要求：
            // 倒计时
        
        // 思考：
            // 如何记录当前的时间戳和国庆的时间戳
            // 如何获取当前到国庆之间相隔这一段时间的毫秒值 [开始，结束]

        // 编写代码：
        // 定义变量 记录当前的时间戳
        var dt_current =  new Date();
        var startTime = dt_current.getTime();
        // console.log("开始:",startTime);

        // 定义变量 记录未来的时间戳
        // var v1 = prompt("请输入一个未来的时间!")
        // var dt_future = new Date(v1);

        // var dt_future = new Date("2021/08/05 17:00:00");
        var dt_future = new Date("2021/10/01 00:00:00");
       
        // 国庆的时间
        // var dt_future = new Date();
        //     dt_future.setMonth(9);
        //     dt_future.setDate(1);
        //     dt_future.setHours(0);
        //     dt_future.setMinutes(0);
        //     dt_future.setSeconds(0);
        //     console.log(dt_future);// Fri Oct 01 2021 00:00:00 GMT+0800

        // 未来的时间戳
        var endTime = dt_future.getTime();
        // console.log("结束:",endTime);

        // 记录 相隔这一段时间的毫秒值
        var totalTime = endTime - startTime;
        // 转成秒数
        totalTime = totalTime / 1000;
        // 打印秒数
        // console.log(totalTime);

        // 定义函数 格式化倒数时间
        function downTime(seconds) {
            // 天数
            var dd = Math.floor(seconds / 60 / 60 / 24);
            // console.log(dd);

            // 小时数(除了天数部分时间) 
            var hh = Math.floor(seconds / 60 / 60 % 24);
            // console.log(hh);

            // 分钟数 (剩下的分钟) 1小时 = 3600秒
            var mm = Math.floor(seconds % 3600 / 60);
            // console.log(mm);

            // 秒数(剩下的秒数) 59 58 57 ... 
            var ss = Math.floor(seconds % 60);
            // console.log(ss);

            // 返回天数 ，小时数，分钟数 ，秒数
            return [dd,hh,mm,ss];
        }

        // 调用函数
        var data = downTime(totalTime);
        console.log(data); //  [56, 7, 9, 35]

        // 渲染字符串
        var str = "<h1>距离国庆还有"+data[0]+"天"+data[1]+"小时"+data[2]+"分钟"+data[3]+"秒！</h1>";
        document.write(str);


    </script>
</body>
</html>